home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Games / MacGnuGo 0.5e / gnugo.src / getij.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-13  |  2.0 KB  |  74 lines  |  [TEXT/R*ch]

  1. /*
  2.                 GNU GO - the game of Go (Wei-Chi)
  3.                 Version 1.1   last revised 3-1-89
  4.            Copyright (C) Free Software Foundation, Inc.
  5.                       written by Man L. Li
  6.                       modified by Wayne Iba
  7.                     documented by Bob Webber
  8. */
  9. /*
  10. This program is free software; you can redistribute it and/or modify
  11. it under the terms of the GNU General Public License as published by
  12. the Free Software Foundation - version 1.
  13.  
  14. This program is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. GNU General Public License in file COPYING for more details.
  18.  
  19. You should have received a copy of the GNU General Public License
  20. along with this program; if not, write to the Free Software
  21. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  
  23. Please report any bug/fix, modification, suggestion to
  24.  
  25. mail address:   Man L. Li
  26.                 Dept. of Computer Science
  27.                 University of Houston
  28.                 4800 Calhoun Road
  29.                 Houston, TX 77004
  30.  
  31. e-mail address: manli@cs.uh.edu         (Internet)
  32.                 coscgbn@uhvax1.bitnet   (BITNET)
  33.                 70070,404               (CompuServe)
  34. */
  35.  
  36. #include <stdio.h>
  37.  
  38. extern int MAXX,MAXY;
  39.  
  40. getij(move, i, j)
  41. /* convert string input to i, j coordinate */
  42. char move[];
  43. int *i, *j;
  44. {
  45.  int k,n;
  46.  
  47.  n = 0;
  48.  while (move[n] == ' ') n++;
  49.  if ((move[n] >= 65) && (move[n] <= 72))
  50.     *j = move[n] - 65;
  51.  else
  52.     if ((move[n] >= 74) && (move[n] <= 84))
  53.        *j = move[n] - 66;
  54.     else
  55.        if ((move[n] >= 97) && (move[n] <= 104))
  56.       *j = move[n] - 97;
  57.        else
  58.       if ((move[n] >= 106) && (move[n] <= 116))
  59.          *j = move[n] - 98;
  60.       else
  61.          return 0;
  62.  n++;
  63.  while (move[n] == ' ') n++;
  64.  if (move[n]) k = move[n] - 48;
  65.  else return 0;
  66.  n++;
  67.  if (move[n]) k = k * 10 + move[n] - 48;
  68.  *i = MAXX - k;
  69.  if ((*i >= 0) && (*i < MAXX) && (*j >= 0) && (*j < MAXY))
  70.     return 1;
  71.  else
  72.     return 0;
  73. }  /* end getij */
  74.